Method and arrangement relating to messaging

ABSTRACT

An arrangement for handling control signal messaging in a distributed system comprising a number of sending nodes and a number of receiving nodes and implementing a control signaling communication protocol. The sending and/or the receiving node is adapted to send and/or receive the current message as a compressed message comprising only the difference portion between a selected or preferred previous message and the current message and the unique identity of said previous message.

FIELD OF THE INVENTION

The present invention relates to an arrangement for handling controlsignalling messaging in a distributed system comprising a number ofsending nodes and a number of receiving nodes and which implements acontrol signalling communication protocol.

The invention also relates to a node in a distributed communicationsystem adapted to at least send control signalling messages with a givensyntax to other nodes and implementing a control signalling protocol.

Furthermore the invention relates to a method for sending a controlplane signalling current message from a first, sending, node to a secondnode in a distributed communication system implementing a control planesignalling communication protocol. Further yet the invention relates toa method of receiving a control plane signalling current message from afirst sending node, in a second receiving node in a low transport layerof an implemented control plane signalling protocol, in a distributedcommunication system.

STATE OF THE ART

Distributed communication systems of different types rely on both dataand control signalling between the subsystem nodes of a system. A nodeis here taken to mean an arbitrary node or a base station, a mobilestation, a client/server, different boards in a base station or moregenerally a sender and a receiver. Depending on the particular systemrequirements and the design of the system, the control plane signallingmay actually constitute a performance bottleneck. In the art is known toprevent or reduce the negative effects, to the largest possible extent,of such bottlenecks through improving the hardware, for example throughusing higher bus-speeds or alternative communication channels, forexample replacing a serial interface by a shared memory interface or bydesigning more optimized protocols for control signalling.

It is however not always possible or not even desirable for differentreasons, for example for keeping down the costs or in order not increasethe complexity etc., to provide any hardware modifications. The only wayto handle increasing requirements in control plane signalling or toavoid the occurrence of bottlenecks, is then to optimize or modify thecommunication protocol or to perform general software optimization,which normally is not sufficient. However, many distributedcommunication systems are very complex, such as for example radio basestations, server/client database systems etc. and it can be verydifficult and involve high costs to optimize the communication protocoland it may also affect many other system components which affects thesystem design as a whole. It is also highly important that the controlplane signalling is stable and well tested in order to assure a reliableand stable performance of the system. Actually, modification of thedesign of a control plane communication protocol might involve redesignof a major part of the communication system and, as referred to above,potentially affect many system components since the control planecommunication protocols normally are common for many components includedin the system.

In today known systems a lot of redundant or highly redundantinformation is normally sent, which means that the available controlplane signalling bandwidth is not efficiently exploited and thatbottlenecks easily result.

SUMMARY OF THE INVENTION

What is needed is therefore an arrangement as initially referred tothrough which bottlenecks to a large extent can be avoided or throughwhich the occurrence of bottlenecks can be reduced considerably acompared to in hitherto known systems.

An arrangement is also needed through which the control plane signallingcan be optimized. Further an arrangement is needed through which theusage of the bandwidth available for control plane signalling can beoptimized. Most particularly an arrangement is needed through which theabove can be achieved without affecting or requiring modification ofused protocols over even the creation of new signalling protocols. Mostparticularly an arrangement is needed through which control planesignalling can be optimized and bandwidth saved in an efficient mannerand bottlenecks to a high extent can be avoided without affectinginvolved components. Even more particularly an arrangement as referredto above is needed which does not require any hardware modifications orparticularly no substantial hardware modifications. Still further anarrangement through which one or more of the above mentioned objects canbe achieved is needed which can be applied to even very complex systems.Still further an arrangement is needed which is easy to install andimplement, which is flexible and which is non-expensive.

Most particularly an arrangement as referred to above is needed whichdoes not require any redesign of the system or at least not of anyconsiderable part of the system. Most particularly an arrangement isneeded through which sending of redundant information can be avoided toa high extent.

A node as initially referred to is also needed through which one or moreof the above mentioned objects can be achieved. Particularly a nodeacting as a sender or a node acting as a receiver or, most particularly,a node acting both as a sender and as a receiver is needed. A node ishere taken to mean any sending or receiving node or device, for examplea board in a base station, a client server, a mobile station, a webserver (or any server) etc, or more generally a sending/receivingsubsystem. Communication within one node is then communication betweensubsystems. It should however be noted that the concept node should notbe configured with nodes in the syntax tree as discussed below, whichalso are denoted nodes or syntax tree nodes.

A method as initially referred to, through which one or more of theabove mentioned objects can be achieved, is also needed.

Therefore an arrangement as initially referred to is provided in whichat least a number said sending nodes comprise message compressionselection means for, based on one of more criteria, determining orselecting which messages are to be compressed or can be compressed,message compression means for compressing selected messages, where saidmessage compressing means are adapted to use a syntax of the controlsignalling protocol for compression, unique identity assigning means forat least assigning messages which are to be compressed with a uniqueidentity, and message information storing means, for example a cache,but also any other appropriate storing means, for example comprising atable, in which messages are sorted depending on type, i.e. depending onwhich type they are of, under said assigned unique identity, and messagerecognition means for recognizing previous messages of the same typestored in said storing means, and message distinguishing means forestablishing the difference portion or portions between one or moreprevious messages and a current message of the same type. Only thedifference portion or portions between the current message and aselected previous message and the unique identity of said selectedprevious message is sent as a compressed current message.

Particularly a node at least acting as a sending node comprises uniqueidentity assigning comprising unique identity calculation means for atleast assigning messages which are to be compressed with a uniqueidentity, whereby the unique identity particularly comprises a hashvalue. Particularly the storing means further comprises means forestablishing and storing message type description information which isbased on the syntax of the message and for linking the unique identityof a message to the type and to the message type description.

Even more particularly the node at least acting as a sending nodecomprises calculating means for calculating the difference between oneor more previous messages of the same type, preferably all messages ofthe same type (in the storing means), and the current message.Particularly criterion defining means are provided for giving or keepingcriteria concerning which previous messages that are to be used forcalculation of the difference and even more particularly the criteriondefining means are controllable. In one embodiment no furtherdifferences are calculated when a criterion has been fulfilled.Alternatively it is searched for the “best”, smallest, difference. Mostparticularly the criterion defining means at least comprise criteriarelating to establishing the amount and/or kind of difference that isacceptable, i.e. in order to select or establish which previous messagethat should be used as a previous message for admitting only thedifference to be adhered to the unique identity of the previous messageto form a compressed current message to be sent to a receiving node.

Particularly the criteria defining means comprise previous messageselecting means adapted to select a preferred previous message. Mostparticularly the preferred previous message is a message between whichand the current message, the difference is the smallest. The size inbytes may for example be used as a measure for the size of thedifference. It should be clear that also other criteria are possible.

In an advantageous embodiment, a sending node also acts as a receivingnode. Then it comprises reconstruction means for mapping a receivedcompressed message to the corresponding previous message using theinformation in the message information storing means by implementing theunique identity contained the compressed message that is received fromthe sending node. Particularly, when acting as a receiving and/orsending node, it comprises message storing decision means fordetermining or establishing if or when information concerning a receivedmessage is to be stored into the message information storing means.

In a particularly advantageous implementation the message distinguishingmeans comprises difference calculation means for performing a messagedifference calculation based on a syntax representation of a currentmessage and one or more previous messages.

In a preferred embodiment, for message compression/decompression, aparticular message layer is introduced between higher level protocollayers and the transport layer of the communication protocol such thatmessage compression/decompression is integrated transparently into anexisting computing system.

Particularly the receiving and/or sending nodes comprise a radio basestation, a board, e.g. a board in for example a Radio Base Station, amobile station, a server, a web server, a client or similar.

In order to solve one or more of the problems as referred to above andto achieve one or more of the objects of the invention, a node in adistributed communication system as initially referred to is alsoprovided. The meaning of node in this specification has already beendiscussed above and node should hence be interpreted broadly.

The node comprises control signalling message compression means, messagecompression selection means for determining or selecting, based on oneor more criteria, which messages are to be compressed. Said compressionmeans are adapted to use the syntax of a control signalling forcompression of selected control signalling messages. Is also comprisesmessage unique identity assigning means for providing messages to bestored in message information storing means with a unique identity andmessage information storing means for example comprising a table, inwhich storing means messages are sorted depending on message type, bymeans of the assigned unique identity and each message is linked to amessage type description. I.e. the unique message type, but sorting isdone depending on one hand (e.g. first), on message type, and on theother hand (second) depending on the assigned unique message ID. “First”and “second” is here merely given as a non-limiting example. Furthermessage recognition means are preferably provided for recognizingmessages of the same type and message distinguishing means forestablishing the difference portion or portions, between a current, newmessage, and a number of previous messages of the same type. It isfurther adapted to, if one or more given criteria are met, send acurrent message as a compressed message comprising only the differenceportion and the unique identity of the selected previous message.

In a particular embodiment the message selection means comprises aselection algorithm. The algorithm may be static but it may also bedynamic. Preferably the storing means comprises a cache for exampleadapted to hold a given number of messages only, or to hold messages fora given time period, or based on both these criteria. In a very specificembodiment it might also be so constructed that it holds messages of acertain type for a given time period or a given amount of messages ofone or more other types or messages may be held according to othercriterias. It is also possible to hold all messages for a given timeperiod.

Particularly the identity assigning means comprises a unique identitycalculation means for calculating a hash value for each message.Particularly said message type descriptions are based on message syntaxand said storing means comprises means for linking each message to amessage type description.

Particularly the message type description specifies which type or typesof parameters a message comprises, and optionally one or more of theorder in which the parameters are provided or to be sent, or the allowed(or prohibited) values of said parameters. The message distinguishingmeans particularly comprises calculating means for calculating thedifference between current messages and any or at least a given numberof previous messages of the same type. Criterion defining means areprovided which are adapted to give/keep criteria concerning amountand/or type of difference that is required to determine whether amessage can be sent as a compressed message or not. Particularly, if agiven criterion is met, the difference is added to the unique identityof a selected or preferred previous message and the message is sent as acompressed message comprising the difference and the unique identity ofthe previous message. The criteria may also or alternatively relate toe.g. for how many messages the difference should be calculated, whencalculation is to be stopped due to an acceptable difference having beenfound etc.

In a particular embodiment, the selected or preferred previous messageis the or one of the messages differing the least from the currentmessage, i.e. where the difference is smallest.

In advantageous implementations, the node further comprises a messagereconstruction means in order to be able to also handle the reception ofcompressed messages. Hence, said message reconstruction means compriserecognition and decompressing means for detecting a received compressedmessage and for mapping the difference and the unique identity to theappropriate previous message using said message information storingmeans, and adding the difference to the found previous message. p Theinvention also discloses a method for sending a controlplane signallingcurrent message rom a first, sending, node to a second node in adistributed communication system implementing a control plane signallingcommunication protocol. The method comprises the steps of; determiningor selecting, based on a number of given decision criteria, if themessage is compressible; if not, sending the message, if yes;establishing an unique identity for the message; establishing the typeof the message; storing the message with a unique identity, the messagetype and a message description in message information storing means;establishing if there is any entry in the message information storingmeans relating to previous messages of the same type as a currentmessage; if not, sending the message, if yes; calculating the differencebetween the current message and one or more previous messages of thesame type; selecting, based on a given selection criteria, the closestprevious message or preferred previous message; generating a compressedmessage comprising the unique identity of the closest previous messageand the difference between the current message and the selected closestor preferred previous message, and sending the compressed message.

The decision criteria are particularly given by a decision criterionmechanism and may comprise a list of compressible message types. Thedecision criterion mechanism may also be based on a criterion statingthat all messages are compressible. The decision criterion mechanism maycomprise a dynamic or static algorithm for determining whether a messageis compressible, for example based on length and/or type.

In an advantageous implementation, the step of establishing the uniqueidentity comprises; calculating a hash value, said hash value uniquelydefining the message. Moreover, advantageously the step of generating acompressed message comprises; using the syntax of the control planesignalling to provide a message description.

Also, advantageously, the step of calculating the difference comprises;representing the messages using a syntax tree comprising numbered nodes;using a rewriting scheme to express the difference based on saidnumbered nodes and for reconstruction of the message from the differenceand a previous message. The difference calculation between a current anda previous message will result in a sequence of operations on the syntaxtree which transforms the first, current, message to a second,compressed, message. The sequence constitutes the difference.

Still further the invention suggests a method for handling reception ofa control plane signalling current message from a first sending node ina second receiving node in a low transport layer of an implementedcontrol plane signalling protocol, in a distributed communicationsystem. The method comprises the steps of; receiving a current message;establishing if the message is compressed, if yes, establishing theunique identity contained in the compressed message; using the uniqueidentity to find the corresponding previous message, particularly usinga message information storing means; decompressing the compressedcurrent message using the previous message and the received differencebased on the use of a syntax based message description in messageinformation storing means; establishing, based on predetermined criteriaif the current, decompressed, message is to be stored in the messageinformation storing means, if not, sending the current message to ahigher protocol layer; if yes, establishing a unique identity of thecurrent message and storing the message with message type and uniqueidentity into the message information storing means, and, passing thecurrent message to a higher protocol layer.

It is a requirement that the receiving node comprises a messageinformation storing means in which previous messages are stored andorganized depending on message type and the unique identity uniquelydefining each message, similar to the sending node, or, when a node actas both sender and receiver, the same message information storing meansis used for implementation of both the compression and decompression.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will in the following be further described, in anon-limiting manner, and with reference to the accompanying drawings, inwhich:

FIG. 1 is a very schematical block diagram of an arrangement or systemcomprising a sending node and a receiving node with control signalmessaging handling means according to the present invention,

FIG. 2 is a very schematical block diagram illustrating a node acting assender and receiver in which the inventive concept is implemented,

FIG. 3 shows an example of a signalling sequence in a systemimplementing message compression according to the present invention,

FIG. 4 shows an example of calculation and application of difference-,also denoted delta-, messages,

FIG. 5 illustrates one example of a storing means implemented in a nodeaccording to the inventive concept,

FIG. 6 illustrates transparent integration of message compressionimplemented in an existing distributed computing system throughintroduction of an additional message stack layer in the signallingprotocol used,

FIG. 7 is a flow diagram illustrating one example of the steps of theflow in a node acting as a sending node,

FIG. 8 is a flow diagram illustrating one example of a procedure when anode acts as a receiving node,

FIG. 9 is a diagram illustrating simulated results for saving as afunction of redundancy and for a given message length, and

FIG. 10 illustrates the message length and redundancy for 20% savingswith a given information element length.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 very schematically illustrates an arrangement 50 or a systemcomprising a sender or a sending node 10 and a receiver or a receivingnode 20. In this very simplified block diagram it is supposed that thesending node 10 is equipped in order to be able to send compressedmessages whereas the receiving node 20 is supposed to be equipped so asto be capable of handling reception of compressed messages. Theinventive concept is applicable in one direction or in both directionsand of course such embodiments are included wherein a node only iscapable of acting as a sending node or as a receiving node respectivelyfor the purposes of the inventive concept. However, mostly a node iscapable to handle compression as well as decompression. Such a node isvery schematically illustrated in FIG. 2 to be more thoroughly discussedbelow.

It should be clear that a node here is taken to mean a node capable toact as a send for sending to other nodes and/or as a receiver forreception from other nodes, but also as a node within which sendingand/or receiption can take place between node “sub-systems” or nodesacting as “sub-nodes”.

It should be clear that the nodes shown in FIG. 1 by no means arecomplete and they merely contain those means that are necessary for theinventive concept; other properties or means normally included in asending node or a receiving node are not shown for reasons of claritybut also because the sending and receiving nodes may be of manydifferent kinds.

Hence the sending node 10 here comprises message compression selectionmeans 11 which for example may include a dynamic or a static selectionalgorithm to select messages which are likely to be well compressible orwhich should be compressed. It may be based on one or more criteria. Thecriteria generally relate to the length of the messages and possiblyalso to the redundancy of the messages. It is also possible to selectall messages as compressible and the actual criteria solely beingwhether there are any other messages of the same type etc., as will bemore thoroughly explained below, in the message information storingmeans 13. Normally however, long messages with a high redundancy areselected. If a message is regarded as well compressible or selected as acompressible message, a message unique identity assigning means 12 isadapted to calculate a unique identity for the message. (It is alsopossible to calculate unique identities for all messages irrespectivelyof their being compressible or not, which however constitutes a lessadvantageous solution but which should not be excluded.) In a preferableimplementation a hash value is calculated which allows uniqueidentification of each message and a hash value is used as a message id.

An incoming compressible message (or, alternatively, also othermessages) are then stored into message information storing means 13which are adapted to sort the messages depending on type. The calculatedunique identity, preferably the hash value, is then used as a message idunder which the messages are stored in the message information storingmeans 13. The message information storing means 13, for examplecomprising a table, also links each message to a message syntax basedmessage type description specifying how the message is built up, e.g.all the parameters that are sent as well as type of parameters and theirallowed values, order of parameters, limits etc., also referred to asthe message body. Message storing decision means may be provided as aseparate means (not shown) or incorporated in the message informationstoring means 13 are provided for in any appropriate manner to enablebuilding up of the table of message information storing means 13.

The sending node 10 also comprises message recognition anddistinguishing means 14. By recognition is here meant that the type ofthe message is recognized and distinguishing is here meant theestablishment of the difference between the message and previousmessages of the same type. To perform these steps, the messagerecognition and distinguishing means 14 are required to cooperate withthe message information storing means 13, i.e. to locate messages of thesame type as a current message. For at least a number of the locatedmessage or messages, a difference is calculated between the storedmessage and a current message to be sent. Different criteria may be setto determine for which previous messages the difference is to becalculated, or for how many. Further it does according to givencriterias, select one of the messages as closest message, or thepreferred message. Normally it is the message which differs the leastfrom a current message, although also other criteria may be implemented,for example if a message is found and the difference does not exceed agiven value, such message can be selected as a preferred message or ifthe difference falls under a given limit, it may be used as a preferredmessage etc. Thus, if a preferred message is found, if for example thedifference is small enough, the calculated difference (the difference iscalculated by means comprising or constituting the distinguishingmeans), the calculated difference is attached to the correspondingmessage unique identity, i.e. the previous preferred message found inthe message information storing means 13.

The message compressing means 15 are here seen substantially as anassembling means taking the difference from the recognition anddistinguishing means and the unique identity from the messageinformation storing means 13. This is merely a conceptual distinctionthat is made, the message compression means can also be seen as messagecompressing means 15 in communication with or comprising the messagerecognition and distinguishing means 14 and possibly also with themessage information storing means 13, which preferably is a cachealthough it also may be some other storing means.

The hence compressed message is then forwarded to a sending means 16 forsending it to, for example, a receiving node which e.g. may be areceiving subsystem. Hence a compressed message MSG_(comp) consisting ofthe unique identity of the selected previous message and the calculateddifference is sent to a receiving node 20.

In this very simplified embodiment it is supposed that the receivingnode 20 only assumes the functionality of a receiving node and henceonly the means and functionalities required in order to support such afunctionality are shown in the figure. Thus the receiving node 20comprises compression detection means 22 receiving the message fromreceiving means 21. It is here supposed that the compression detectionmeans are adapted to detect whether a message is compressed or not. Inan alternative implementation a message may go directly to a messagereconstruction means 24 in which, if it is established that it is not acompressed message, the message is simply forwarded. However in thisparticular embodiment it is supposed that the message reconstructionmeans 24 comprises means for, with the use of a message informationstoring means 23 similar to the one discussed with reference to thesending node 10, finding the previous message using the unique identitythereof and adding the difference to said previous message.

Preferably the receiving arrangement also comprises storing decisionmeans 25 for determining whether a new reconstructed message should bestored under the relevant type in message information storing means 23or not. It may also be used to determine whether a non-compressedreceived message should be stored into a message information storingmeans 23 or not. Alternatively all messages are stored. Many variationsare possible. If however the storing decision means 25 decide that themessage is to be stored, it has to communicate with unique identityassigning or calculation means 26 similar to the message unique identityassigning means 12 of the sending node 10. Decompressed or reconstructedmessages can be stored under a unique identity in the messageinformation storing means. As referred to above the process isapplicable either in both directions or in one direction only.

FIG. 2 very schematically illustrates a node 30 acting both as a sendingnode and as a receiving node (RX/TX). Only the means or functions whichare required in order to perform compression/decompression forsending/receiving purposes according to the present invention are shown.Hence, as in FIG. 1 the node comprises message compression selectionmeans 31 for selecting whether a message in convenient for compressionor should be compressed. It is, when describing this figure, referred tothe description of FIG. 1 in general. The sending/receiving node 30further comprises compression detection means 32 for detecting whetheran incoming message is compressed or not. The node comprises messageinformation storing means 33 which are the same or substantially thesame both for the receiving functionality and for the sendingfunctionality. They are in communication with a storing decision means37, cf. storing decision means 25 of FIG. 1. Common means for uniqueidentity assigning 36 are provided which of course functions in the samemanner irrespectively of whether it is for assigning an id to adecompressed message to be stored, or for any message to be stored. Asin the preceding embodiment the unique identity assigning means 36communicate with compression/decompression means 34 which herecommunicate with the message recognition and distinguishing means 35 asdiscussed with reference to FIG. 1 as well. They are here merely shownas one means but of course with two different functionalities. If a nodeacts as a receiver, a decompressed message is sent out to a higher layerof the communication protocol whereas if it is a message sending node,the message is sent out to a receiving node, via a lower layer of thecommunication stack.

The message recognition and distinguishing means 40 particularlycomprises difference calculation means. Preferably the differencecalculation is based on a syntax tree representation of the messages.Nodes in a syntax tree are numbered and a rewriting scheme is used toexpress the difference as well as for reconstructing the message fromthe difference and a previous message. For difference calculation andrewriting, the following operations on the syntax tree are defined:operation: here rewrite node (N I D,replacement); node NID here meansnode ID, i.e. a node address. Description of the operation: replace thecontents of the referenced node N I D with replacement. Operation:Delete node (N I)D Description: delete the node N I.D Operation: addnode (N I,D content). Description: adding of a node containing contentafter/under node NID.

In order to minimize the size of the difference operations shouldparticularly be identified by a short numberic code, e.g. rewrite=1,delete=2, add node=3. It should be clear that this merely relates to oneparticular example. There are of course many other possibilities,particularly as far as the representation is concerned. The operationsrequire referencing of the nodes of the syntax tree representation. Inone particular, non-limiting, implementation, a two dimensionaladdressing scheme is used wherein the first dimension is the depth (e.g.starting with 1 for the root node, and increased with 1 for every levelof children added. The second dimension may be a left-to-right numberingof all children on a specific level. The left-to-right ordering of thechildren needs to be deterministic and supported by the message syntax,which in practice particularly means that information elements ofmessages are ordered. It should however be clear that the invention isnot limited to such a numbering scheme but that, of course, also othernumbering schemes are possible.

It should be clear that the operations defined above require anunambiguous way to identify the content of a message, i.e. a way toaddress a node in a syntax tree.

First, with references to FIG. 3 a signal flow scenario with messagecompression is illustrated between a sending side, here comprising aclient dispatcher, for example a board in a base station, and areceiving side, here comprising a server receptor which for example maybe a board in a base station. It is here supposed that a message 1, forexample CarConfigure (of type B) is incoming to the client dispatcher,1. It is here supposed that it is a message which is not compressible orthat it is the first message of a given type etc; the figure merelyintends to show that the message CarConfigure, 2, is sent to the serverreceptor. There the required action is performed, 3. In the sender ahash value is calculated, here for example with a unique identityID=2347 and a storing operation is performed wherein the ID and type ofthe message or messages is stored in storing means, 4. Simultaneously orlater the same operation is performed on the receiving side, 5.

At a later occasion it is supposed that a new or current message of typeB arrives to the client dispatcher, 6. This message is denotedCarConfigure ′. In the client dispatcher the difference is thencalculated between the first message MSG 1 and the current message, bothof type B, 7. The calculated difference is as described above togetherwith the unique identity of message 1 sent to the server receptor, 8,i.e. the compressed current message with ID=2347, difference(CarConfigure-CarConfigure′). On the receiving side the message ID=2347is looked up and in the storing means message MSG 1 is found. Thecurrent message is calculated through adding the difference to message1, i.e. CarConfigure, 9. Subsequently the action in question isperformed, here configure car, 10.

FIG. 4 shows an example for calculating and applying a differencemessage, in the following also denoted delta message. Nodes areaddressed top down (first coordinate) and left to right (secondcoordinate). A message here is Car_Configure (nWheels=4, mirrors=2;[left=electric, center=manual], speed=200). The calculated new messagewith the difference or delta message added will be CarConfigure(nWheels=4, mirrors=3; [left=electric, center=manual, right=electric],speed=240). The delta message here is delta_message (ID=2347, add Node(3,3 right=electric), rewrite Node (2, 2, 240)).

The stored or previous message has identity 2347 as referred to above.

Often the message syntax restricts the range of allowed parameters inthe messages. Such parameter ranges may be used to generate code booksfor message elements and thus reduce the number of bytes needed totransfer parameters. This can be applied to minimize the size of thetransferred difference messages. It can also be applied to messagesending without difference calculation.

FIG. 5 very schematically illustrates an example of message informationstoring means, for example a cache. In the storing means, for a message,the unique message identity, for example a calculated hash value, thetype of the message and message body are stored. In the figure examplesare given for the messages of type CarConfigure with a unique identityOxAF3E and OxAB44 and for a message type CarDrive a message with uniqueidentity OxCEFD and another with unique identity OxCEF5. The messagebodies include the message parameters. Advantageously the mechanism formessage compression according to the inventive concept is integratedtransparently into an existing distributed computing system. In order toachieve that, an additional messaging stack layer may be introducedbetween a higher level protocol layer, where messages are handled tolower transport layers, cf. FIG. 6A, and the transport layer, lowerlayer protocol. I.e. a protocol layer message compressor/messagedecompressor is introduced between the higher level protocol and thelower layer protocol. Transparent integration has the advantage that itminimizes the impact on existing system design and allows for laterintegration, for example during performance optimization. This is veryadvantageous since then the concept can be introduced in alreadyexisting systems. It may however, also be taken into account andintroduced at the system design level, i.e. right from the verybeginning. That makes the concept widely applicable, and easy toimplement and it is not required to exchange entire systems or systemcomponents in order to take advantage of the inventive concept.

The inventive concept is very advantageous for applications with aconsiderable amount of complex control plane signalling, specially underconditions where communication bandwidth is a limiting factor. Asexamples can be given, Web services over Wireless Wide Area Networks,such as for example 3GPP (third Generation Partnership Project). WebServices use an XML-based protocol transported over HTTP for interactionbetween for example a mobile station and an application or a databaseserver. Even if Web Services often mix control plane signalling and datatraffic in a single message, pure or dominantly control plane signallingscenarios do also exist, for example for remote configuration of devicesor exporting of device API:s (Application Programming Interfaces) toremote devices etc. Bandwidth in 3G networks is a very scarce resourcewhile typically today's mobile devices have abundant computing resourcesboth in terms of memory and MIPS. This is a gap which probably willincrease even more in the soon future. An introduction of the inventiveconcept in such scenarios, would lead to the required bandwidth over theair interface being reduced considerably, especially as an XML dataprotocol has a very large potential for signal compression. As anexample, a mobile application based on web services may access a servervia some kind of a wireless connection, for example a 3G packet basedservice. The access comprises commands, for example search commands to adata-base server, and data transfer (for example transmission ofretrieved search results). The inventive concept can be applied onsending/receiving of commands, and search commands may for example beredundant over time when new searches are modifications of previoussearches. I.e. the concept may be implemented for a mobile device and aremote database.

Other possible applications are in radio base stations. Radio basestations are complex distributed systems with an enormous amount ofcontrol plane signalling between subsystems. Especially configurationsignals for radio links often carry many parameters, most of which arenot altered between subsequent signals. The inventive concept canprovide for considerable bandwidth savings in such scenarios.

In one embodiment, schematically illustrated in FIG. 6B, messagecompression is integrated into the sending stack for layer 3 controlplane signalling: transparent integration of message compression, higherlayer level, layer 3, whereas lower layer is layer 2 of the mainprocessor and it is used in signalling to the transmitter and receiverboards. User data flows are normally not suited for application of theinventive concept.

FIG. 7 is a flow diagram describing the receiving concept of the presentinvention which proposes a method to improve control plane signallingperformance by leaving the existing protocol intact as seen from thesubsystems and introducing syntax based compression of signal flow whichis transparent for the sending and the receiving system components. Theinvention is actually based on the observation that control planesignalling, for larger systems, usually is governed by some kind ofsyntax and that for reasons of design rules and design robustness,transmitted information often is redundant and repetitive. Thus,according to the invention the syntax of the control plane signalling isused to compress the control plane signals and a signal cache (forexample) is built up which allows sending of shorter difference, ordelta, signals instead of complete signals. Moreover, preferably adynamic or static selection algorithm is used to select messages whichare likely to be well compressible, or messages which it is advantageousto compress in that the savings in e.g. bandwidth are high.

Hence, in FIG. 7 it is supposed that a message is received, 100, in anode acting as a sending node. It is supposed that the message isdenoted current message. Then it is determined whether the message to betransmitted is compressible or not, 101. This can be done in manydifferent ways. In one implementation all messages are considered ascompressible. A list may also be provided stating which message typesthat are compressible. Still further an algorithm may be used to selectcompressible messages, for example based on length and/or type. Ifhowever, it is determined that the message is not compressible, thecurrent message is sent as a conventional message, 101A. If, however, itis determined that the message is compressible, a unique identity isassigned to the message, 102, in this particular implementation a hashvalue is calculated for the message. The message, i.e. the currentmessage, is stored in message information storing means, with a uniqueidentity, e.g. a hash value, the message type, and message information,or the message body, 103. Then it is established whether the currentmessage type already is present in a message storing means, 104, i.e. ifthere already are one or more messages of the same type stored in thestoring means. If not, the message is sent as it is, 101A. If howeverthere are messages of the same type as the current message, differencesare calculated between the current message and such already existing,also denoted previous, messages, 105. This can be done in differentmanners, differences between the current message and all such previousmessages may be calculated, or some particular criteria can be givensuch that if a difference is found and the difference is small enough,no further calculations are performed etc. In any case, somehow aprevious message is selected, 106, for example the previous message withthe smallest difference from the current message, i.e. the closestprevious message. Then the compressed message or a delta message isbuilt as the unique identity of the closest previous message, or of thepreferred message, and the calculated difference, 107. Then the in thisway assembled current message is sent as a compressed or delta message,108.

FIG. 8 is a flow diagram schematically describing the procedure formessage decompression, i.e. decompression of a message received in areceiving node. Hence, it is supposed that a current message isreceived, 201, from lower layers. It is then established or detected ifthe current message is compressed or not, 202. If it is not compressed,it is established whether it is to be stored in the message informationstoring means, 206, and then the current message is forwarded to higherlayers, 207. If it is established that the message is compressed, theunique identity is found in the compressed, delta, message, 203, andusing the unique identity, the previous or base message and thedifference included in the compressed current message is used tocalculate the original, (un-compressed) current message, 205. Then,preferably, it is established if the current message is to be stored inmessage information storing means, 206. If not, it is passed on tohigher layers, if yes, a hash value is calculated and the assembledcurrent message is stored with hash, type and the message body, 206A.Then the message is sent out. The criteria used to determine whether amessage is to be stored or not can be of many different kinds, a messagemay be stored due to a sender request or algorithm parameters. Forexample a number may be given to indicate how many messages that are tobe stored, for example the 100 latest messages can be stored etc. Itshould be clear that the concept can be varied in a number of ways,different criterias may be used for selecting compressibility or forstoring into storing means etc.

The procedures described above considerably reduce the load related tosending and reception of control plane signalling, but adds a memory andCPU time consuming processing step to the sending and receivingsubsystem. This means that advantageously an a-priori or a dynamicselection of which messages are to be processed by the inventive conceptcan be provided for, as well as the memory available for message cacheneeds to be provided for or taken into consideration. Generally, themore parameters a message carries, the larger the optimization potentialwill be. The message cache could be dimensioned to only hold one or avery few disparate messages of each type. Moreover, if computing powerand memory are available but communicating capacity, for example via anair interface, is limited, the inventive concept is potentially veryefficient. However, also other factors may be taken into considerationor be disregarded etc.

FIG. 9 is a diagram illustrating a simulation for a simple model showingsavings as a function of redundancy and information element (IE) lengthfor a message length of 100 bytes. It is here assumed that the overheadfor messages is 4 bytes and the overhead for the writing commands is 2bytes per command. As can be seen the savings increase with anincreasing redundancy.

FIG. 10 shows redundancy versus message length to achieve 20% savings inmessage sending. Generally the possibilities or the benefit of a messagecompression increases considerably with an increasing message length. InFIG. 10 the message length and redundancy is shown for an informationelement length of 4 bytes. Generally it is much more beneficial tocompress longer messages than shorter messages.

In a preferred implementation it is provided for storing means, orparticularly cache, coherency which means that mechanisms are introducedto secure cache coherency on a sending and on a receiving side. Stillfurther, in an advantageous implementation an error handling mechanismis provided for in order to handle the situation of unexpected cacheincoherency.

Further for the difference calculation, computational activity may bemore important than minimizing the size of the calculated differenceinformation.

It should be clear that the invention can be varied in a number of waysand applied to different kinds of senders and receivers,one-directionally or two-directionally. Further it can be implemented inmany different manners using different algorithms and storing means andbe based on different criterias for selection of compressibility and forselection of closest message etc. Also in other aspects the invention isnot limited to the explicitly illustrated embodiments but it can bevaried in a number of ways within the scope of the appended claims.

1. An arrangement for handling control signal messaging in a distributedsystem having a number of sending nodes and a number of receiving nodesfor implementing a control signalling communication protocol, wherein atleast a number of said sending and/or receiving nodes comprise: amessage compression selection means for, based on one or more criteria,determining or selecting which messages are to be compressed; a messagecompression means for compressing selected messages, said messagecompression means being adapted to use the syntax of the controlsignalling for compression; a unique identity assigning means for atleast assigning messages which are to be compressed with a uniqueidentity; a message information storing means, in which at least somemessages are sorted depending on type, under the assigned uniqueidentity; message recognition means for recognizing previous messages ofthe same type; and a message distinguishing means for establishing thedifference portion(s) between one or more previous message and a currentmessage of the same type, and in that the sending and/or the receivingnode is adapted to send and/or receive the current message as acompressed message comprising only the difference portion between aselected or preferred previous message and the current message and theunique identity of said selected or preferred previous message.
 2. Thearrangement according to claim 1, wherein the unique identity assigningmeans further comprises an identity calculation means for calculatingunique identities comprising hash values.
 3. The arrangement accordingto claim 1, wherein the message information storing means furthercomprises means for establishing and storing message type descriptioninformation based on message syntax and for linking each message to suchmessage type description and the message distinguishing means comprisescalculating means for calculating the difference between any or givenprevious messages and a current message to be sent and in that criteriondefining means are provided for giving or keeping criteria concerningamount and type of difference allowing sending as a compressed message.4. The arrangement according to claim 3, wherein the criteria at leastcontain a difference amount criteria indicating the criteria foradmitting only the difference being adhered to a previous message uniqueidentity for sending as a compressed message.
 5. The arrangementaccording to claim 3, wherein the message distinguishing means forestablishing the difference between the current message and at leastsome previous messages which are of the same type as the current messageand about which information is stored in the message information storingmeans, are adapted to select a preferred previous message being themessage between which and the current message the difference is thesmallest.
 6. The arrangement according to claim 3, wherein it furthercomprises message reconstruction means provided at least in a receivingnode for decompressing a received compressed message by mapping areceived unique identity to the corresponding previous message using theinformation in the message information storing means and adding thereceived difference to said previous message, and message storingdecision means for establishing when or if information concerning amessage is to be stored in the message information storing means.
 7. Thearrangement according to claim 3, wherein the message distinguishingmeans comprises difference calculation means for performing a messagedifference calculation based on a syntax representation of a currentmessage and one or more previous messages.
 8. A node in a distributedcommunication system adapted to at least act as a sending node sendingcontrol signalling messages to other nodes and implementing a controlsignalling protocol, comprising: a control signal message compressionmeans; a message compression selection means for determining orselecting, based on one or more criteria, which messages are to becompressed; said control signal message compression means being adaptedto use the syntax of the control signalling for compression of selectedcontrol signal messages; a message information storing means; a messageunique identity assigning means for providing a message to be stored inthe message information storing means with a unique identity, themessage information storing means comprising a table in which messagesare sorted depending on message type, by means of the assigned uniqueidentity and wherein each message is linked to a message typedescription; and a message recognition means and message distinguishingmeans for recognizing messages of the same type as a current message,and for establishing the difference portion(s) between a current, new,message and a number of previous messages of the same type, and in thatit is adapted to, if one or more given criteria are met, send a currentmessage as a compressed message comprising only the differenceportion(s) between the current message and a selected previous messageand the unique identity of said selected previous message.
 9. The nodeaccording to claim 8, wherein the message compression selection meanscomprises a selection algorithm which is static or dynamic.
 10. The nodeaccording to claim 8, wherein the message information storing meanscomprises a cache.
 11. The node according to claim 8, wherein the uniqueidentity assigning means further comprises unique identity calculatingmeans for calculating a hash value for each message to be given a uniqueidentity and that said message type descriptions are based on messagesyntax and in the said message information storing means comprises meansfor linking each message to a message type description.
 12. The nodeaccording to claim 8, wherein the message distinguishing means comprisescalculating means for calculating the difference between a currentmessage and any or at least given or a given number of previous messagesof the same type and in that criterion defining means are provided togive or keep criteria concerning amount and/or type of difference thatis required to determine whether a message can be sent as a compressedmessage or not or when difference calculation is to be interrupted, themessage compression means being adapted to, if or when the givendifference criteria are met, adding the difference to the uniqueidentity of the corresponding selected or preferred previous message andsending the message as a compressed message comprising the differenceand the unique identity of the selected previous message, the selectedor preferred previous message being the or one of the messages differingthe least from the current message.
 13. The node according to claim 8,further comprising a message reconstruction means communicating with adetection means for detecting a received compressed message anddecompressing means mapping the unique identity of a received compressedmessage to the appropriate previous message using said messageinformation storing means, and adding the difference to said previousmessage.
 14. A method for sending a control plane signalling currentmessage from a first, sending, node or subnode to a second node orsubnode in a distributed communication system implementing a controlplane signalling communication protocol, comprising the steps of, in thesending node: determining or selecting, based on a number of givendecision criteria, if the current message is compressible, if not,sending the message, if yes; establishing a unique identity for themessage; storing the message unique identity, the message type and themessage content description in message information storing means;establishing if there is any entry in the message information storingmeans relating to any previous messages of the same type as the currentmessage, if not, sending the message, if yes; calculating the differencebetween the current message and one or more previous messages of thesame type; selecting, based on given selection criteria, a previousmessage; generating a compressed message comprising the unique identityof the selected previous message and the difference between the currentmessage and the selected, e.g. closest, previous message; and sendingthe compressed message.
 15. A method of receiving a control planesignalling current message from a first sending node in a second,receiving, node in a low transport layer of an implemented control planesignalling protocol, in a distributed communication system, wherein thereceiving node comprises a message information storing means in whichprevious messages are stored organized depending on message type underunique identities uniquely identifying each message, and in that itcomprises the steps of: receiving a current message; establishing if themessage is compressed, if yes; establishing the unique identity in thecompressed message; using the unique identity to find the correspondingprevious message in the message information storing means; decompressingthe compressed current message using the previous message and thereceived difference using a the syntax based message type description inthe storing means, by adding the difference to the previous message;establishing based on predetermined criteria if the current message isto be stored in the message information storing means, if not, sendingthe message to a higher protocol layer, if yes; establishing a uniqueidentity of the current message, and storing the message with messagetype and unique identity into the message information storing means, andpassing the current message to a higher protocol layer.